package com.iwhalecloud.citybrain.flow.platform.manager.application.service;

import com.iwhalecloud.citybrain.flow.platform.manager.domain.model.userentity.OrgInfo;
import com.iwhalecloud.citybrain.flow.platform.manager.domain.model.userentity.UserInfo;

import java.util.List;

/**
　　* @description: 用户所属组织服务
　　* @author shenrm
　　* @date 2021/10/27 17:44
　　*/
public interface UserOrgService {

    /**
     * 通过组织ID获取组织下的用户列表
     *
     * @param orgCode
     * @return
     */
    List<UserInfo> getUserListByOrgId(String orgCode);


    /**
     * 根据用户查归属组织列表
     * @param userId
     * @return
     */
    List<OrgInfo> getOrgInfoByUserId(String userId);

    /**
     * 根据组织编号查询组织信息
     * @param code
     * @return
     */
    OrgInfo getOrgByCode(String code);

    /**
     * 通过组织ID集合获取组织下的用户列表支持租户
     *
     * @param orgIdList 组织ID集合
     * @return
     */
    List<UserInfo> getUserListByOrg(List<String> orgIdList);

    /**
     * 根据组织ID获取组织对象信息
     *
     * @param orgId
     * @return
     */
    OrgInfo getOrgDetail(String orgId);

    /**
     * 根据组织code获取组织对象信息
     *
     * @param orgCode
     * @return
     */
    OrgInfo getOrgDetailByOrgCode(String orgCode);
}
